//
// Created by yyy on 24-9-14.
//

#ifndef CREATE_TABLT_SQL_DEFINE_HPP
#define CREATE_TABLT_SQL_DEFINE_HPP

#include <vector>
#include <string>
#include <unordered_map>
#include "enum_classes.hpp"

class Column {
public:
  bool isNull{};
  bool isPrimary{};
  bool isKey{};
  SQL_TYPE sqlType;
  std::string javaType() const;

  std::string name;

  explicit Column(SQL_TYPE sql_type);
};

class CreateTableSqlDefine {
public:
  CreateTableSqlDefine();

  ~CreateTableSqlDefine();

  std::string model_suffix = "IdeaVim";

  std::unordered_map<std::string, std::string> *status_map;
  std::string name;
  std::vector<Column*> *columns =new std::vector<Column*>();
};


#endif //CREATE_TABLT_SQL_DEFINE_HPP
